-- LuaJ 自己的 print()
print('hello from print()');

-- Java 类静态函数调用
System = luajava.bindClass('java.lang.System');
print('java.lang.System.currentTimeMillis() = ', System:currentTimeMillis() )
System.out:println('hello from java.lang.System.out.println()');

-- 自己用 Java 定制的 LuaJ 扩展包
print('utils = ', utils);
print('utils.currentTimeMillis() = ', utils.currentTimeMillis())
utils.print('hello from utils.print()');

-- 动态创建 Java 对象
strTk = luajava.newInstance("java.util.StringTokenizer", "a,b,c,d", ",")
while strTk:hasMoreTokens() do
    print(strTk:nextToken())
end

-- 访问预置 Java 全局对象
print('tester1 = ', tester1);
print('tester2 = ', tester2);
tester1:hello('智辰科技');
tester2:hello('York');

-- 测试传入参数: 对于 chunk，无法传递命名参数，只能通过 setGlobal() 设置全局变量
print("args = ", args) -- args = nil

-- 返回值测试
--return nil;       -- null
--return "ok";      -- String
--return true;      -- Boolean
--return 123;       -- Integer
--return 123.456;   -- Double
--return 123, 456;  -- 只能返回第一个值 Integer: 123
--return strTk;     -- Java 对象 java.util.StringTokenizer
--return {123, 456};  -- Object[] = [123, 456]
--return {1,2,3,name="zy",age=41};  -- HashMap = {"1"=1, "2"=2, "3"=3, name="zy", "age"=41}

-- '{"1":1,"2":2,"3":3,"name":"zy","age":41}'
--return utils.toJson({1,2,3,name="zy",age=41});

-- Object[] = [1, 2, [3, 4], {name=zy, age=41}]
--return {1,2,{3,4},{name="zy",age=41}};

-- '[1,2,[3,4],{"name":"zy","age":41}]'
return utils.toJson({1,2,{3,4},{name="zy",age=41}});
